﻿using System;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x02000303 RID: 771
	public class TJoinList : TParseTreeNodeList
	{
		// Token: 0x06001B65 RID: 7013 RVA: 0x0032F365 File Offset: 0x0032D565
		public virtual void addJoin(TJoin join)
		{
			base.addElement(join);
		}

		// Token: 0x17000640 RID: 1600
		public TJoin this[int pos]
		{
			get
			{
				if (pos < 0 || pos >= base.size())
				{
					throw new IndexOutOfRangeException();
				}
				return (TJoin)this.elementAt(pos);
			}
		}

		// Token: 0x06001B67 RID: 7015 RVA: 0x0032F38F File Offset: 0x0032D58F
		public virtual TJoin getJoin(int position)
		{
			if (position < base.size())
			{
				return (TJoin)this.elementAt(position);
			}
			return null;
		}

		// Token: 0x06001B68 RID: 7016 RVA: 0x0032F3A8 File Offset: 0x0032D5A8
		internal override void addParseTreeNode(object arg1)
		{
			this.addJoin((TJoin)arg1);
		}

		// Token: 0x06001B69 RID: 7017 RVA: 0x0032F3B6 File Offset: 0x0032D5B6
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06001B6A RID: 7018 RVA: 0x0032F3C8 File Offset: 0x0032D5C8
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			for (int i = 0; i < base.size(); i++)
			{
				this.getJoin(i).acceptChildren(v);
			}
			v.postVisit(this);
		}

		// Token: 0x06001B6B RID: 7019 RVA: 0x0032F401 File Offset: 0x0032D601
		public virtual void removeJoin(int index)
		{
			if (index >= 0 && index < base.size())
			{
				this.getJoin(index).setChanged();
				base.removeElementAt(index);
			}
		}
	}
}
